nextMessageSuspend
Parses an incoming message from the socket. If this returns null, then the socket is closed / reached EOF. This will suspend if it has to wait for messages.
Throws
if an incoming message can't be serialized (subclass of SignaldException)
if an I/O error occurs when communicating with the socket.